#ifndef _ASSERTION_EXCEPTION_H_
#define _ASSERTION_EXCEPTION_H_

////////////////////////////////////////////////////////////////////////////////
// Includes
////////////////////////////////////////////////////////////////////////////////

#include "Exception.hpp"

////////////////////////////////////////////////////////////////////////////////
// Namespaces
////////////////////////////////////////////////////////////////////////////////

namespace Exceptions {

////////////////////////////////////////////////////////////////////////////////
// Implementation
////////////////////////////////////////////////////////////////////////////////

/**
 *  Assertion exception class.
 *	This class creates an exception which should be thrown when a required
 *	assertion cannot be verified.
 */
 
class AssertionException : public Exception {

	public:
		
		/**
		 *  Exception creation.
		 *	@param A specific message.
		 */
		AssertionException(const std::string comment = "")
		: Exception(comment,"Assertion exception") {}

};

////////////////////////////////////////////////////////////////////////////////
// Closing Namespaces
////////////////////////////////////////////////////////////////////////////////

}

////////////////////////////////////////////////////////////////////////////////

#endif
